package classes_0905;

/**
 * 垃圾回收机制
 * 当垃圾堆积到一定程度时，Java虚拟机会自动回收垃圾对象所占的内存空间空间
 * 除Java虚拟机进行自动回收垃圾外，还可以通过System.gc()方法通知Java虚拟机立即进行垃圾回收
 * 当一个对象在内存中被释放时，他的finalize()方法会被自动调用，因此可以在类中定义finalize()方法来观察对象何时被释放
 */
class Person{
    //下面定义的finalize方法会在垃圾回收前被调用
    public void finalize(){
        System.out.println("对象被作为垃圾回收。。。");
    }
}
public class Rubbish {
    public static void main(String[] args) {
        Person p1=new Person();
        Person p2=new Person();
        //让对象成为垃圾
        p1=null;
        p2=null;
        //调用方法进行垃圾回收
        System.gc();
        for(int i=0;i<10000000;i++){
            //为了延长程序运行时间
        }
    }
}

